The present application describes systems and techniques relating to graphical user interfaces, for example, software applications having user interface dialogs with preview capability.
Programmers often build an application program's graphic user interface (GUI) by assembling and tailoring prefabricated GUI controls (controls) found in libraries such as the Microsoft Foundation Class (MFC) library. Controls, such as buttons and scroll bars, implement predefined behaviors that a programmer can alter and supplement. In general, a control can create one or more commands, which typically represent one or more actions on a data model accessed through the GUI. A programmer can add a control to an application GUI through a visual development tool (e.g., Visual C++) or by entering instructions that call the control procedures.
A dialog panel control (dialog) produces an image of a box that includes other controls. Dialogs can be modal. A modal dialog prevents a user from interacting with application controls other than those associated with the dialog until the user closes the dialog. Programmers can add dialogs to their user interface to display and receive data from conceptually related items. For example, a drawing application might display a dialog when a user wants more information about a drawn object. This dialog might display the drawn object's attributes such as the drawn object's color and size and allow the user to alter them.
In a traditional dialog, the dialog's commands are typically wrapped in a sequence. Commands can be grouped in a sequence to effect complex actions in a software application. Typically, commands and command sequences are atomic in that they either succeed or they don't. Moreover, software applications typically support commands and command sequences being done, un-done, and re-done.
In previewable dialogs, a preview control is included in the dialog. A preview control, often a check box control labeled “preview”, allows a user to see the effects dialog controls will have before closing the dialog. For example, a user might want to alter a drawn object's color through a dialog. By turning the dialog's preview control ON, the user can select different colors and see the object rendered in each color before settling on a particular color. In some software development environments, a programmer writes special procedures to support previewable dialogs. In other software development environments, a dialog preview software component has been built into shared software libraries for use by programmers to quickly add preview capability in a dialog of a software application. For example, see U.S. Pat. No. 6,061,059, issued May 9, 2000, and entitled, “Providing A Preview Capability To A Graphical User Interface Dialog”.